#include <stdio.h>
#include <math.h>

float fungsi(float x){
	float hasil = exp(-x) - x;
	return hasil;
}

void main__(){
	int no=0;
	float xbawah, xatas, n, result_fungsi, h, fx1, fx2;
	printf("Masukkan batas bawah \t: ");
	scanf("%f", &xbawah);
	printf("Masukkan batas atas \t: ");
	scanf("%f", &xatas);
	printf("Masukkan pembagi \t: ");
	scanf("%f", &n);
	printf("\n");

	h = (xatas - xbawah) / n;

	printf("------------------------\n");
	printf("|No.|   X   |   f(x)   |\n");
	printf("------------------------\n");
	for(float i=xbawah; i<xatas+h; i+=h){
		result_fungsi = fungsi(i);
		no++;
		printf("|%3d| %+.2f | %+.5f |\n", no, i, result_fungsi);
	}
	printf("------------------------\n");
	printf("\n");
	for(float i=xbawah; i<xatas+h; i+=h){
		float fxa = fungsi(i);
		float fxb = fungsi(i + h);
		if(fxa * fxb < 0){
			printf(" - Titik penyelesaian berada di antara %+.2f dan %+.2f\n", i, i+h);
			if(abs(fxa) < abs(fxb)){
				printf(" - Akar lebih dekat ke %+.2f ", i);
			}else{
				printf(" - Akar lebih dekat ke %+.2f ", i + h);
			}
		}
	}
	printf("\n\n");
}